Platform Explorer / Nuxeo Platform 6.0

Component org.nuxeo.ecm.core.CoreExtensions

Documentation

This component is contributing the core types and schemas and other core extensions.

Contributions

XML Source

<?xml version="1.0"?>

<component name="org.nuxeo.ecm.core.CoreExtensions" version="1.0">

  <documentation>
    This component is contributing the core types and schemas and other core extensions.

    @author <a href="mailto:bs@nuxeo.com">Bogdan Stefanescu</a>
  </documentation>

  <extension target="org.nuxeo.ecm.core.schema.TypeService"
      point="schema">
    <documentation>The core schemas</documentation>
    <!-- XXX AT: prefixes should be set, see NXP-1152 -->
    <schema name="core-types" src="schema/core-types.xsd"/>
    <schema name="base" src="schema/base.xsd"/>
    <schema name="relation" prefix="relation" src="schema/relation.xsd"/>
    <schema name="common" src="schema/common.xsd"/>
    <schema name="dublincore" prefix="dc" src="schema/dublincore.xsd"/>
    <schema name="uid" src="schema/uid.xsd"/>
    <schema name="file" src="schema/file.xsd"/>
    <schema name="files" src="schema/files.xsd"/>
    <schema name="note" src="schema/note.xsd"/>
    <schema name="domain" src="schema/domain.xsd"/>
    <schema name="relatedtext" src="schema/relatedtext.xsd"/>

    <schema name="publishing" prefix="publish" src="schema/publishing.xsd" />
    <schema name="webcontainer" prefix="webc" src="schema/webcontainer.xsd"/>

  </extension>

  <extension target="org.nuxeo.ecm.core.schema.TypeService"
      point="configuration">
    <documentation>The default type manager configuration</documentation>
    <configuration>
      <!--prefetch>common, dublincore</prefetch-->
      <prefetch>common.icon, dc:title, dc:description, dc:created, dc:modified,
        dc:lastContributor, dc:creator</prefetch>
    </configuration>
  </extension>

  <extension target="org.nuxeo.ecm.core.schema.TypeService"
      point="doctype">
    <documentation>The core document types</documentation>

    <!-- standard facets with no schema -->
    <facet name="Folderish" perDocumentQuery="false"/> <!-- used by system -->
    <facet name="Orderable" /> <!-- used by system -->
    <facet name="Versionable" /> <!-- used by system -->
    <facet name="Downloadable" />
    <facet name="Publishable" />
    <facet name="PublishSpace" />
    <facet name="MasterPublishSpace" />
    <facet name="Commentable" />
    <facet name="WebView" />
    <facet name="SuperSpace" />
    <facet name="HiddenInNavigation" perDocumentQuery="false"/>
    <facet name="SystemDocument" />
    <facet name="NotFulltextIndexable" />

    <!-- facet to be used for full-text indexing of related text content
      (e.g. comments, annotations, tags...) -->
    <facet name="HasRelatedText">
      <schema name="relatedtext" />
    </facet>

    <doctype name="Folder" extends="Document">
      <schema name="common"/>
      <schema name="dublincore"/>
      <facet name="Folderish"/>
      <subtypes>
        <type>Folder</type>
        <type>File</type>
        <type>Note</type>
      </subtypes>
    </doctype>

    <doctype name="OrderedFolder" extends="Folder">
      <facet name="Orderable"/>
    </doctype>

    <doctype name="HiddenFolder" extends="Folder">
      <facet name="HiddenInNavigation" />
    </doctype>

    <doctype name="Root" extends="Folder">
      <subtypes>
        <type>Domain</type>
      </subtypes>
    </doctype>

    <doctype name="Relation"> <!-- no extends -->
      <schema name="relation"/>
      <schema name="dublincore"/>
    </doctype>

    <doctype name="Domain" extends="Folder">
      <schema name="domain"/>
      <facet name="SuperSpace"/>
      <subtypes>
        <type>WorkspaceRoot</type>
        <type>SectionRoot</type>
        <type>TemplateRoot</type>
      </subtypes>
    </doctype>

    <doctype name="WorkspaceRoot" extends="Folder">
      <facet name="SuperSpace"/>
      <subtypes>
        <type>Workspace</type>
      </subtypes>
    </doctype>

    <doctype name="Workspace" extends="Folder">
      <!-- for logo -->
      <schema name="file"/>
      <schema name="webcontainer"/>
      <schema name="publishing"/>
      <!-- the content of webcontainer -->
      <schema name="files" />
      <facet name="SuperSpace"/>
      <subtypes>
        <type>Workspace</type>
        <type>Folder</type>
        <type>File</type>
        <type>Note</type>
      </subtypes>
    </doctype>

    <doctype name="TemplateRoot" extends="Folder">
      <facet name="SuperSpace"/>
      <subtypes>
        <type>Workspace</type>
      </subtypes>
    </doctype>

    <doctype name="SectionRoot" extends="Folder">
      <facet name="SuperSpace"/>
      <facet name="MasterPublishSpace" />
      <subtypes>
        <type>Section</type>
      </subtypes>
    </doctype>

    <doctype name="Section" extends="Folder">
      <!-- for logo -->
      <schema name="file"/>
      <facet name="SuperSpace"/>
      <facet name="PublishSpace" />
      <subtypes>
        <type>Section</type>
      </subtypes>
    </doctype>

    <doctype name="File" extends="Document">
      <schema name="common"/>
      <schema name="file"/>
      <schema name="dublincore"/>
      <schema name="uid"/>
      <schema name="files"/>
      <facet name="Downloadable"/>
      <facet name="Versionable"/>
      <facet name="Publishable"/>
      <facet name="Commentable"/>
      <facet name="HasRelatedText"/>
    </doctype>

    <doctype name="Note" extends="Document">
      <schema name="common"/>
      <schema name="note"/>
      <schema name="uid"/>
      <schema name="files"/>
      <schema name="dublincore"/>
      <facet name="Versionable"/>
      <facet name="Publishable"/>
      <facet name="Commentable"/>
      <facet name="HasRelatedText"/>
    </doctype>

  </extension>

   <extension target="org.nuxeo.ecm.core.event.EventServiceComponent"
    point="listener">

    <listener name="emptyNameFixer"
        class="org.nuxeo.ecm.core.model.EmptyNameFixer" order="1000">
      <event>aboutToImport</event>
      <event>aboutToCreate</event>
      <event>aboutToMove</event>
    </listener>

    <listener name="duplicatedNameFixer"
        class="org.nuxeo.ecm.core.model.DuplicatedNameFixer" order="2000">
      <event>aboutToImport</event>
      <event>aboutToCreate</event>
      <event>aboutToMove</event>
    </listener>

  </extension>

</component>